package com.ruoyi.wms.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.excel.annotation.ExcelDictFormat;
import com.ruoyi.common.excel.convert.ExcelDictConvert;
import com.ruoyi.wms.domain.entity.partolStore.InspectionPlan;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 巡检方案视图对象 inspection_plan
 *
 * @author 邓滔滔
 * @date 2024-11-24
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = InspectionPlan.class)
public class InspectionPlanVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ExcelProperty(value = "id")
    private Long id;

    /**
     * 设备ID
     */
    @ExcelProperty(value = "设备ID")
    private Long equipmentId;

    /**
     * 设备类型
     */
    @ExcelProperty(value = "设备类型")
    private String equipmentType;

    /**
     * 巡检频率（单位：天）
     */
    @ExcelProperty(value = "巡检频率", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "frequency")
    private Long frequency;

    /**
     * 巡检间隔时
     */
    @ExcelProperty(value = "巡检间隔时")
    private Long intervalDays;

    /**
     * 下次巡检日期
     */
    @ExcelProperty(value = "下次巡检日期")
    private Date nextInspectionDate;

    /**
     * 巡检项目
     */
    @ExcelProperty(value = "巡检项目")
    private String inspectionItems;

    /**
     * 巡检人ID
     */
    @ExcelProperty(value = "巡检人ID")
    private Long inspectorId;

    /**
     * 状态
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "inspection_status")
    private Integer status;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String notes;

    /**
     * 创建人
     */
    @ExcelProperty(value = "创建人")
    private String createBy;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 修改时间
     */
    @ExcelProperty(value = "修改时间")
    private Date updateTime;

    /**
     * 修改人
     */
    @ExcelProperty(value = "修改人")
    private String updateBy;


}
